package net.xdclass.service;

import cn.felord.payment.wechat.v3.model.ResponseSignVerifyParams;
import cn.felord.payment.wechat.v3.model.TransactionConsumeData;
import net.xdclass.controller.request.ConfirmOrderRequest;
import net.xdclass.controller.request.ProductOrderPageRequest;
import net.xdclass.model.EventMessage;
import net.xdclass.model.ProductOrderDO;
import com.baomidou.mybatisplus.extension.service.IService;
import net.xdclass.util.JsonData;

import java.util.Map;

/**
 * @author Allen
 * @version 1.0
 * @date 2022/11/21 17:19
 */
public interface ProductOrderService extends IService<ProductOrderDO> {


	Map<String, Object> pageByRequest(ProductOrderPageRequest orderPageRequest);

	String queryProductOrderState(String outTradeNo);

	JsonData confirmOrder(ConfirmOrderRequest orderRequest);

	Boolean closeProductOrder(EventMessage eventMessage);

	Map<String,String> processCallBack(ResponseSignVerifyParams params, TransactionConsumeData data);

	void processWxchatCallBack(String outTradeNo, String tradeState, Long accountNo);


	void handleProductOrderMessage(EventMessage eventMessage);
}
